package com.education.platform.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.education.platform.entity.UserProfile;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 用户详细资料表 Mapper 接口
 */
@Mapper
public interface UserProfileMapper extends BaseMapper<UserProfile> {

    /**
     * 根据用户ID查询用户资料
     */
    UserProfile selectByUserId(@Param("userId") Long userId);

    /**
     * 根据城市查询教员资料列表
     */
    List<UserProfile> selectByCity(@Param("city") String city);

    /**
     * 根据科目查询教员资料列表
     */
    List<UserProfile> selectBySubject(@Param("subject") String subject);

    /**
     * 根据时薪范围查询教员资料列表
     */
    List<UserProfile> selectByHourlyRateRange(@Param("minRate") BigDecimal minRate, @Param("maxRate") BigDecimal maxRate);

    /**
     * 搜索教员（综合条件）
     */
    List<UserProfile> searchTeachers(@Param("city") String city, @Param("subject") String subject, 
                                   @Param("minRate") BigDecimal minRate, @Param("maxRate") BigDecimal maxRate,
                                   @Param("education") String education, @Param("minExperience") Integer minExperience);

    /**
     * 统计教员数量
     */
    Integer countTeachers(@Param("city") String city, @Param("subject") String subject);
} 